﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace weighing
{
  public static  class ExtensionMethod
    {
       //  1. 扩展方法必须在非泛型的静态类中, 
       //  2. 扩展方法必须声明静态方法,
       //  3. 调用时(如果不再同一命名突然间下)需要 引用命名空间
       //  4.优先级 类的实例方法 -> 当前命名空间 -> 引用命名空间

        public static bool IsBetween<T>(this T value, T low, T high) where T : IComparable<T>
        {           
            return value.CompareTo(low) >= 0 && value.CompareTo(high) < 0;
        }


        public static bool IsNullOrEmpty(this String value)
        {
            return String.IsNullOrEmpty(value);
        }

        public static bool IsNullOrEmpty<T>(this List<T> value) 
        {            
            return value == null || value.Count <= 0;
        }

        public static bool IsNotNullOrEmpty<T>(this List<T> value)
        {
            return !value.IsNullOrEmpty() ;
        }

    }
}
